#pragma once

#include <iostream>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <cstring>
#include <cstdlib>

const char* pathname = "/home";
const int proj_id = 666;

struct message {
    long mytype;
    char data[100];
};

enum {
    MSGGET_ERROR,
};

int Msgqueue(int flag) {
      key_t key = ftok(pathname, proj_id);
      int msgid = msgget(key, flag);
      if (msgid < 0) {
        perror("msgid failed");
        exit(MSGGET_ERROR);
      }
      return msgid;
}

int CreateMsg() {
    return Msgqueue(IPC_CREAT | IPC_EXCL | 0666);
}

int Getmsg() {
    return Msgqueue(IPC_CREAT  | 0666);
}
